package com.zhsm.fuxi.mapmanager.MapStrategy;

import android.content.Context;

import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.TextureMapView;
import com.baidu.mapapi.model.LatLng;
import com.zhsm.fuxi.mapmanager.mark.MarkConfig;

/**
 * @desc：
 */

public interface BaseMapLoaderStrategy {
    /**
     * 初始化地图
     * @param context
     */
    void initLocation(Context context);

    /**
     * 开始定位
     * @param callBack
     */
    void startLocation(LocationCallBack callBack);

    /**
     * 关闭定位
     */
    void stopLocation();

    /**
     * 以bitmap方式添加Mark
     * @param mapView
     * @param config
     * @return
     */
    Object addMarkBitmap(TextureMapView mapView, MarkConfig config);

    /**
     * 以view的方式添加Mark
     * @param mapView
     * @param config
     * @return
     */
    Object addMarkView(TextureMapView mapView, MarkConfig config);


    /**
     * 获得MarkerOptions
     * @param mapView
     * @param config
     * @return
     */
    Object getMark(TextureMapView mapView, MarkConfig config);

    /**
     * @param location
     * @param direction
     * @param baiduMap
     */
    void setLocationDirectationMarker(LatLng location, float direction, BaiduMap baiduMap);


    /**
     * 释放资源
     */
    void recycle();

}
